package org.me.utileria;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.me.entityBeans.TDepartamentos;
import org.me.entityBeans.TDistritos;
import org.me.entityBeans.TMonedas;
import org.me.entityBeans.TNotarias;
import org.me.entityBeans.TOcupaciones;
import org.me.entityBeans.TPaises;
import org.me.entityBeans.TProvincias;
import org.me.entityBeans.TTiposDocumentos;

public class Utileria 
{
    private List<SelectItem> listaPaisesSelectItem;
    private List<SelectItem> listaDepartamentosSelectItem;
    private List<SelectItem> listaProvinciasSelectItem;
    private List<SelectItem> listaDistritosSelectItem;
    private List<SelectItem> listaOcupacionesSelectItem;
    private List<SelectItem> listaMonedasSelectItem;
    private List<SelectItem> listaNotariasSelectItem;
    private List<SelectItem> listaTiposDeDocumentosSelectItem;
    
    public List<SelectItem> convertListBeansPaisesToSelectItem(List<TPaises> listaBeansPaises)
    {
        this.listaPaisesSelectItem = new ArrayList<SelectItem>();
                
        for(TPaises pais: listaBeansPaises)
        {
            this.listaPaisesSelectItem.add(new SelectItem(pais.getNIdPaisPk(), pais.getVNombrePais()));            
        }  
        
        return this.listaPaisesSelectItem;
    }   
    
    public List<SelectItem> convertListBeansDepartamentosToSelectItem(List<TDepartamentos> listaBeansDepartamentos)
    {
        this.listaDepartamentosSelectItem = new ArrayList<SelectItem>();
                
        for(TDepartamentos departamento: listaBeansDepartamentos)
        {
            this.listaDepartamentosSelectItem.add(new SelectItem(departamento.getNIdDepartamentoPk(), departamento.getVNombreDepartamento()));            
        }  
        
        return this.listaDepartamentosSelectItem;
    }
    
    public List<SelectItem> convertListBeansProvinciasToSelectItem(List<TProvincias> listaBeansProvincias)
    {
        this.listaProvinciasSelectItem = new ArrayList<SelectItem>();
                
        for(TProvincias provincia: listaBeansProvincias)
        {
            this.listaProvinciasSelectItem.add(new SelectItem(provincia.getNIdProvinciaPk(), provincia.getVNombreProvincia()));            
        }  
        
        return this.listaProvinciasSelectItem;
    }
    
    public List<SelectItem> convertListBeansDistritosToSelectItem(List<TDistritos> listaBeansDistritos)
    {
        this.listaDistritosSelectItem = new ArrayList<SelectItem>();
                
        for(TDistritos distrito: listaBeansDistritos)
        {
            this.listaDistritosSelectItem.add(new SelectItem(distrito.getNIdDistritoPk(), distrito.getVNombreDistrito()));            
        }  
        
        return this.listaDistritosSelectItem;
    }
    
    public List<SelectItem> convertListBeansOcupacionesToSelectItem(List<TOcupaciones> listaBeansOcupaciones)
    {
        this.listaOcupacionesSelectItem = new ArrayList<SelectItem>();
                
        for(TOcupaciones ocupacion: listaBeansOcupaciones)
        {
            this.listaOcupacionesSelectItem.add(new SelectItem(ocupacion.getNIdOcupacionPk(), ocupacion.getVNombreOcupacion()));            
        }  
        
        return this.listaOcupacionesSelectItem;
    }
    
    public List<SelectItem> convertListBeansMonedasToSelectItem(List<TMonedas> listaBeansMonedas)
    {
        this.listaMonedasSelectItem = new ArrayList<SelectItem>();
                
        for(TMonedas moneda: listaBeansMonedas)
        {
            this.listaMonedasSelectItem.add(new SelectItem(moneda.getNIdMonedaPk(), moneda.getVDescripcionMoneda()));            
        }  
        
        return this.listaMonedasSelectItem;
    }
    
    public List<SelectItem> convertListBeansNotariasToSelectItem(List<TNotarias> listaBeansNotarias)
    {
        this.listaNotariasSelectItem = new ArrayList<SelectItem>();
                
        for(TNotarias notaria: listaBeansNotarias)
        {
            this.listaNotariasSelectItem.add(new SelectItem(notaria.getNIdNotariaPk(), notaria.getVDescripcionNotaria()));            
        }  
        
        return this.listaNotariasSelectItem;
    }
    
    public List<SelectItem> convertListBeansTiposDeDocumentosToSelectItem(List<TTiposDocumentos> listaBeansTiposDeDocumentos)
    {
        this.listaTiposDeDocumentosSelectItem = new ArrayList<SelectItem>();
                
        for(TTiposDocumentos tipoDocumento: listaBeansTiposDeDocumentos)
        {
            this.listaTiposDeDocumentosSelectItem.add(new SelectItem(tipoDocumento.getNIdTipodocumentoPk(), tipoDocumento.getVDescripcionTipodocumento()));            
        }  
        
        return this.listaTiposDeDocumentosSelectItem;
    }
    
    //Retorna 1 si es una cadena no vacia y quita espacios en blanco a la cadena por referencia
    public int  es_cadena_No_Vacia(String cadena)
    {           
        cadena = cadena.trim(); 

        if(cadena.length() == 0)
            return 0;       
        
        return 1;
    }
    
    //devuelve 1 si tiene Cero o Un punto
    public int  puntos_Decimales(String cadena)
    {
        int puntos = 0;        
        
        for (int i = 0; i < cadena.length(); i++) 
        {
            if(cadena.charAt(i) == '.')
                puntos = puntos + 1;   
        
            if(puntos > 1)
                break;            
        }
        
        if(puntos > 1)
        {
            return 0;            
        }  
        
        return 1;
    }    
    
    //retorna 1 si es mayor a 0
    public int mayor_a_Cero(String cadena)
    {
        BigDecimal cantidad = new BigDecimal(cadena); 
        BigDecimal cero = new BigDecimal(0);
        
        if(cantidad.compareTo(cero) == -1 || cantidad.compareTo(cero) == 0) //   <= 0
            return 0;
        
        return 1;
    }
    
}
